package windbell.domain.risk;

import edu.fudan.mylang.pf.query.IPagedCriteria;
import edu.fudan.mylang.pf.query.QueryImplementation;
import windbell.domain.risk.IRiskCheckTargetContext;
import windbell.domain.risk.RiskCheck;
import windbell.domain.risk.RiskCheckSource;
import windbell.domain.risk.RiskCheckStatus;
import windbell.domain.risk.RiskCheckTarget;
import windbell.domain.risk.impl.RiskCheckCriteriaImpl;

@QueryImplementation(implementBy = RiskCheckCriteriaImpl.class)
public interface RiskCheckCriteria extends IRiskCheckTargetContext, IPagedCriteria<RiskCheck> {
  public abstract RiskCheckTarget getCheckTarget();
  
  public abstract RiskCheckCriteria setCheckTarget(final RiskCheckTarget checkTarget);
  
  public abstract RiskCheckSource getSource();
  
  public abstract RiskCheckCriteria setSource(final RiskCheckSource source);
  
  public abstract RiskCheckStatus getStatus();
  
  public abstract RiskCheckCriteria setStatus(final RiskCheckStatus status);
}
